// Copyright [2020] <Weaverzhu>
#include <bits/stdc++.h>
using namespace std;
// #define ONLINE_JUDGE
#ifndef ONLINE_JUDGE
#define dbg(x...) { cerr << "\033[32;1m" << #x << " -> "; err(x); }
void err() { cerr << "\033[39;0m" << endl; }
template<typename T, typename... A>
void err(T a, A... x) { cerr << a << ' '; err(x...); }
#else
#define dbg(...)
#endif

#define sz(x) ((int)x.size())


const int N = 1e3+50;

char s[N];
int n;

int main(int argc, char const *argv[]) {
    // code
    scanf("%s", s); n = strlen(s);
    vector<int> a, b, res;
    for (int i=0; i<n; ++i)
        if (s[i] == '(')
            a.push_back(i);
    for (int i=n-1; i>=0; --i)
        if (s[i] == ')')
            b.push_back(i);
    int k = -1;
    while (k+1 < a.size() && k+1 < b.size() && a[k+1] < b[k+1])
        ++k;
    ++k;
    a.resize(k);
    b.resize(k);
    reverse(b.begin(), b.end());
    res = a;
    for (int x : b)
        res.push_back(x);
    if (sz(res) == 0) {
        puts("0");
        return 0;
    }
    puts("1");
    printf("%d\n", sz(res));
    for (int i=0; i<sz(res); ++i)
        printf("%d%c", res[i] + 1, i==sz(res)-1? '\n':' ');
    return 0;
}
